package com.lession.common;

/**
 * @Description: 响应码枚举
 */
public enum RetEnum {
    // 信息
    OPERATE_SUCCESS_INFO("1001", "操作成功")
    , OPERATE_MAINTAIN_INFO("1002", "维护中")
    , LOGIN_AUTH_1003("1003", "身份认证失败")
    , LOGIN_AUTH_1004("1004", "登录尝试超过上限，请核对登录密码!")
    , LOGIN_AUTH_1005("1005", "账户被锁定")
    , LOGIN_AUTH_1006("1006", "原密码错误")

    // 异常系
    , DATA_IS_EMPTY_ERROR("9000", "参数不能为空")
    , DATA_DUPLICATION_ERROR("9001", "数据重复")
    , DATA_NOT_EXIST_ERROR("9002", "数据不存在")
    , DATA_INSERT_FAIL_ERROR("9003", "数据创建失败")
    , DATA_UPDATE_FAIL_ERROR("9004", "数据更新失败")
    , DATA_TRANSFORM_FAIL_ERROR("9005", "数据转型失败")
    , DATA_GET_FAIL_ERROR("9006", "数据获取失败")
    , DATA_DELETE_DATA_ERROR("9007", "数据删除失败")
    , DATA_UNAUTHORIZED_OPERATION_ERROR("9008", "数据权限不足")

    // 文件系
    , FILE_UPLOAD_ERROR("9101", "文件上传失败")
    , FILE_ANALYSIS_ERROR("9102", "文件解析失败")
    , FILE_NOT_EXIST_ERROR("9103", "文件不存在")
    , FILE_DROP_ERROR("9104", "文件删除失败")
    , FILE_DOWNLOAD_ERROR("9105", "文件下载失败")
    , FILE_DATA_FORMAT_ERROR("9106","文件数据格式不正确")
    , FILE_DATA_COMPRESS_ERROR("9107","文件压缩失败")
    
    // 接口系
    , INTERFACE_CALL_FAIL_ERROR("9201", "程序接口调用出现问题，请稍后再试!")
    , INTERFACE_GET_PARAM_ERROR("9202", "程序接口调用参数出现问题，请联系管理员!")
    , INTERFACE_ANALYSIS_PARAM_ERROR("9203", "程序接口调用参数解析出现问题，请联系管理员! ")
    , INTERFACE_ROLE_INFO_GET_ERROR("9204", "权限信息获取失败")
    , INTERFACE_ROLE_INFO_ANALYSIS_ERROR("9205", "权限信息解析失败")
    ;

    private final String msg;
    private final String code;

    RetEnum(String code, String msg) {
        this.msg = msg;
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public String getCode() {
        return code;
    }

    public static class ReturnEnumUtil {

        public static String getMsg(String code) {
            String msg = "";
            for (RetEnum tmp : RetEnum.values()) {
                if (tmp.getCode().equals(code)) {
                    msg = tmp.getMsg();
                }
            }
            return msg;
        }
    }
}
